#ifndef _WX_ICONLOC_H_
#define _WX_ICONLOC_H_

#include "wx/string.h"

// ----------------------------------------------------------------------------
// wxIconLocation: describes the location of an icon
// ----------------------------------------------------------------------------

class wxIconLocationBase {
  public:
    // ctor takes the name of the file where the icon is
    wxEXPLICIT wxIconLocationBase( const wxString& filename = wxEmptyString )
      : m_filename( filename ) { }

    // default copy ctor, assignment operator and dtor are ok


    // returns true if this object is valid/initialized
    bool IsOk() const { return !m_filename.empty(); }

    // set/get the icon file name
    void SetFileName( const wxString& filename ) { m_filename = filename; }
    const wxString& GetFileName() const { return m_filename; }

  private:
    wxString m_filename;
};

// must be a class because we forward declare it as class
class wxIconLocation : public wxIconLocationBase {
  public:
    wxEXPLICIT wxIconLocation( const wxString& filename = wxEmptyString )
      : wxIconLocationBase( filename ) { }
};


#endif // _WX_ICONLOC_H_

